package com.egao.orderB.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.egao.common.core.damon.results.Entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 实现类
 *
 * @author : Doman
 * @version ：1.0
 * @date : 2020-05-28 14:12:19
 */
@TableName("chf_bill")
public class Bill extends Entity implements Serializable, Cloneable {

  private static final long serialVersionUID = 1L;

  public Bill clone() {           //实现浅克隆
    Bill bill = null;
    try {
      bill = (Bill) super.clone();
    } catch (CloneNotSupportedException e) {
      e.printStackTrace();
    }
    return bill;
  }

  private String billId;//bill id
  private String customerId;//货代名称id
  private String oceanId;//海运id
  private String applyId;//报关id
  private String customer;//货代名称
  private String email;//货代名称表里的email
  private String contacts;//联系人
  private String contactsPhone;//联系电话
  private String dock;//码头
  private String dockLongitude;//码头
  private String dockLatitude;//码头
  private String province;//模糊地址
  private String address;//详细地址
  private String weight;//箱门重量
  private String boxType;//箱型
  private String price;//价格
  private String driverPrice;//司机价格
  private String packDate;//装箱日期(货代要求的装箱时间)
  private String vessel;//船名
  private String voyage;//航次
  private String barcodeEffectiveDate;//最晚提箱时间/条码有效时间
  private String earliestArrivalPortDate;//最早进港时间
  private String whiteCard;//白卡号
  private String billOfLading;//提单号
  private String factoryAddress;//工厂地址
  private String factoryPhone;//装箱人电话
  private String efYard;//电子围栏堆场
  private String efDock;//电子围栏港口码头
  private String qrCode;//二维码
  private String carTeamId;//车队id
  private String carTeam;//车队
  private String carNo;//车牌
  private String carState;//车辆状态:出行中,待出行 这几个状态的订单为出行中:已指派车队,已做单,已提箱,已到厂,已离厂,已进港  数据库没有这个字段
  private String driverId;//司机id
  private String driver;//司机
  private String driverPhone;//司机电话
  private String driverFreight;//运费
  private String sysDriverFreight;//系统司机运费
  private String boxNum;//箱号
  private String boxNumPic;//文件箱号图片
  private String sealno;//封号
  private String sealnoPic;//文件封号图片
  private String arrivedFactoryLatitude;//到厂纬度
  private String arrivedFactoryLongitude;//到厂经度
  private String arrivedFactoryDate;//到厂时间
  private String arrivedFactoryWarnDate;//到厂预警时间(默认提前一小时)
  private String leavedFactoryDate;//离厂时间
  private String leavedFactoryLongitude;//离厂经度
  private String leavedFactoryLatitude;//离厂纬度
  private String arrivedHarbourDate;//到港时间
  private String arrivedHarbourLatitude;//到港纬度
  private String arrivedHarbourLongitude;//到港经度
  private String arrivedHarbourWarnDate;//到港预警时间(默认提前一小时)
  private String preEntryPic;//文件预录入照片
  private String annex;//文件附件
  private List annexList = new ArrayList();//文件附件 没有实际用处,小薛那里要用到
  private String offertime;//下单时间
  private String maketime;//做单时间
  private String driverReceivetime;//司机接单时间
  private String upBoxtime;//提箱时间
  private String arrivedFactorytime;//到厂时间
  private String leaveFactorytime;//离场时间
  private String inPorttime;//进港时间
  private String costBilltime;//发起费用清单时间
  private String verifytime;//货代费用审核时间
  private String driverFeeVerifytime;//司机费用审核时间
  private String customerVerifytime;//货代确认时间
  private String arrivalPort;//进港码头
  private String sealedLand;//加封地
  private String sfile;//文件拖拽
  private String upYard;//提箱堆场
  private String upYardLongitude;//电子围栏堆场
  private String upYardLatitude;//电子围栏堆场
  private String backYard;//还箱堆场
  private String writeOffAccountsPrice;//还箱堆场
  private String writeOffAccountsType;//还箱堆场
  private String salesmanId;//业务员id
  private String salesman;//业务员
  private String operaterId;//操作id
  private String operater;//操作
  private String state;//状态:已下单,平台已接单,已做单,已提箱,已到厂,已离厂,已进港,发起费用清单,司机费用已审核,货代费用已审核,所有费用已审核,结单
  private String feeStateS;//收款状态:已收款,已实收
  private String feeStateF;//付款状态:已付款,已实付
  private String feeTotalS;//总应收
  private String feeTotalF;//总应付
  private String feeTotalSDiscount;//总应收 数据库里没有这个字段
  private String feeTotalFDiscount;//总应付 数据库里没有这个字段
  private String remark;//客户备注
  private String feeRemark;//费用驳回的备注
  private String platRemark;//平台备注
  private String financeRemark;//财务备注
  private String receivable;//应收
  private String payable;//应付
  private String profit;//利润
  private String type;//类型:应收应付 数据库里是没有的
  private String updated;//是否修改 0 没有修改  1修改过了
  private String dropBox;//是否落箱 0没有落箱 1落箱了
  private String withholding;//是否预提 0没有预提  1预提了
  private String cash;//是否现金 0不是现金  1现金车
  private List<BillFee> billFeeList;//费用信息
  private List<BillProcess> billProcessList;//费用流程
  private List<BillFeeVo> billFeeVoList;//各种应收应付
  private boolean expandstate;//默认传一个false到前台 数据库里是没有的
  private List<AddressFactory> addressFactoryList; //工厂地址 下单的时候要用

  private String invoicename;//抬头 数据库里没有
  private String settlementPrice;//销账金额 数据库里没有
  private String settlement;//销账完成度:  0未销账 1部分 2全部 数据库里没有
  private String factoryAddressJson;//多工厂用json格式记录  数据库chf_bill表没有 chf_bill_examine表有


  public String getCash() {
    return cash;
  }

  public void setCash(String cash) {
    this.cash = cash;
  }

  public String getWithholding() {
    return withholding;
  }

  public void setWithholding(String withholding) {
    this.withholding = withholding;
  }

  public String getApplyId() {
    return applyId;
  }

  public void setApplyId(String applyId) {
    this.applyId = applyId;
  }

  public String getSealedLand() {
    return sealedLand;
  }

  public void setSealedLand(String sealedLand) {
    this.sealedLand = sealedLand;
  }

  public List getAnnexList() {
    return annexList;
  }

  public void setAnnexList(List annexList) {
    this.annexList = annexList;
  }

  public String getDockLongitude() {
    return dockLongitude;
  }

  public void setDockLongitude(String dockLongitude) {
    this.dockLongitude = dockLongitude;
  }

  public String getDockLatitude() {
    return dockLatitude;
  }

  public void setDockLatitude(String dockLatitude) {
    this.dockLatitude = dockLatitude;
  }

  public String getUpYardLongitude() {
    return upYardLongitude;
  }

  public void setUpYardLongitude(String upYardLongitude) {
    this.upYardLongitude = upYardLongitude;
  }

  public String getUpYardLatitude() {
    return upYardLatitude;
  }

  public void setUpYardLatitude(String upYardLatitude) {
    this.upYardLatitude = upYardLatitude;
  }

  public String getDriverId() {
    return driverId;
  }

  public void setDriverId(String driverId) {
    this.driverId = driverId;
  }

  public String getFactoryAddressJson() {
    return factoryAddressJson;
  }

  public void setFactoryAddressJson(String factoryAddressJson) {
    this.factoryAddressJson = factoryAddressJson;
  }

  public String getDropBox() {
    return dropBox;
  }

  public void setDropBox(String dropBox) {
    this.dropBox = dropBox;
  }

  public String getUpdated() {
    return updated;
  }

  public void setUpdated(String updated) {
    this.updated = updated;
  }

  public String getInvoicename() {
    return invoicename;
  }

  public void setInvoicename(String invoicename) {
    this.invoicename = invoicename;
  }

  public String getSettlement() {
    return settlement;
  }

  public void setSettlement(String settlement) {
    this.settlement = settlement;
  }

  public String getSettlementPrice() {
    return settlementPrice;
  }

  public void setSettlementPrice(String settlementPrice) {
    this.settlementPrice = settlementPrice;
  }

  public String getBarcodeEffectiveDate() {
    return barcodeEffectiveDate;
  }

  public void setBarcodeEffectiveDate(String barcodeEffectiveDate) {
    this.barcodeEffectiveDate = barcodeEffectiveDate;
  }

  public String getEarliestArrivalPortDate() {
    return earliestArrivalPortDate;
  }

  public void setEarliestArrivalPortDate(String earliestArrivalPortDate) {
    this.earliestArrivalPortDate = earliestArrivalPortDate;
  }

  public String getBillId() {

    return billId;
  }

  public void setBillId(String billId) {
    this.billId = billId;
  }

  public List<AddressFactory> getAddressFactoryList() {
    return addressFactoryList;
  }

  public void setAddressFactoryList(List<AddressFactory> addressFactoryList) {
    this.addressFactoryList = addressFactoryList;
  }

  public String getWriteOffAccountsPrice() {
    return writeOffAccountsPrice;
  }

  public void setWriteOffAccountsPrice(String writeOffAccountsPrice) {
    this.writeOffAccountsPrice = writeOffAccountsPrice;
  }

  public String getWriteOffAccountsType() {
    return writeOffAccountsType;
  }

  public void setWriteOffAccountsType(String writeOffAccountsType) {
    this.writeOffAccountsType = writeOffAccountsType;
  }

  public String getType() {
    return type;
  }

  public void setType(String type) {
    this.type = type;
  }

  public String getEfYard() {
    return efYard;
  }

  public void setEfYard(String efYard) {
    this.efYard = efYard;
  }

  public String getEfDock() {
    return efDock;
  }

  public void setEfDock(String efDock) {
    this.efDock = efDock;
  }

  public String getOceanId() {
    return oceanId;
  }

  public void setOceanId(String oceanId) {
    this.oceanId = oceanId;
  }

  public String getSysDriverFreight() {
    return sysDriverFreight;
  }

  public void setSysDriverFreight(String sysDriverFreight) {
    this.sysDriverFreight = sysDriverFreight;
  }

  public List<BillFeeVo> getBillFeeVoList() {
    return billFeeVoList;
  }

  public void setBillFeeVoList(List<BillFeeVo> billFeeVoList) {
    this.billFeeVoList = billFeeVoList;
  }

  public String getCarState() {
    return carState;
  }

  public void setCarState(String carState) {
    this.carState = carState;
  }

  public String getFeeTotalSDiscount() {
    return feeTotalSDiscount;
  }

  public void setFeeTotalSDiscount(String feeTotalSDiscount) {
    this.feeTotalSDiscount = feeTotalSDiscount;
  }

  public String getFeeTotalFDiscount() {
    return feeTotalFDiscount;
  }

  public void setFeeTotalFDiscount(String feeTotalFDiscount) {
    this.feeTotalFDiscount = feeTotalFDiscount;
  }

  public String getCustomerId() {
    return customerId;
  }

  public void setCustomerId(String customerId) {
    this.customerId = customerId;
  }

  public String getFeeRemark() {
    return feeRemark;
  }

  public void setFeeRemark(String feeRemark) {
    this.feeRemark = feeRemark;
  }

  public String getFeeTotalS() {
    return feeTotalS;
  }

  public void setFeeTotalS(String feeTotalS) {
    this.feeTotalS = feeTotalS;
  }

  public String getFeeTotalF() {
    return feeTotalF;
  }

  public void setFeeTotalF(String feeTotalF) {
    this.feeTotalF = feeTotalF;
  }

  public String getFeeStateS() {
    return feeStateS;
  }

  public void setFeeStateS(String feeStateS) {
    this.feeStateS = feeStateS;
  }

  public String getFeeStateF() {
    return feeStateF;
  }

  public void setFeeStateF(String feeStateF) {
    this.feeStateF = feeStateF;
  }

  public String getReceivable() {
    return receivable;
  }

  public void setReceivable(String receivable) {
    this.receivable = receivable;
  }

  public String getPayable() {
    return payable;
  }

  public void setPayable(String payable) {
    this.payable = payable;
  }

  public String getProfit() {
    return profit;
  }

  public void setProfit(String profit) {
    this.profit = profit;
  }

  public String getFinanceRemark() {
    return financeRemark;
  }

  public void setFinanceRemark(String financeRemark) {
    this.financeRemark = financeRemark;
  }

  public String getSalesmanId() {
    return salesmanId;
  }

  public void setSalesmanId(String salesmanId) {
    this.salesmanId = salesmanId;
  }

  public String getSalesman() {
    return salesman;
  }

  public void setSalesman(String salesman) {
    this.salesman = salesman;
  }

  public String getOperaterId() {
    return operaterId;
  }

  public void setOperaterId(String operaterId) {
    this.operaterId = operaterId;
  }

  public String getOperater() {
    return operater;
  }

  public void setOperater(String operater) {
    this.operater = operater;
  }

  public String getPlatRemark() {
    return platRemark;
  }

  public void setPlatRemark(String platRemark) {
    this.platRemark = platRemark;
  }

  public String getCarTeamId() {
    return carTeamId;
  }

  public void setCarTeamId(String carTeamId) {
    this.carTeamId = carTeamId;
  }

  public boolean isExpandstate() {
    return expandstate;
  }

  public void setExpandstate(boolean expandstate) {
    this.expandstate = expandstate;
  }

  public String getDriverPrice() {
    return driverPrice;
  }

  public void setDriverPrice(String driverPrice) {
    this.driverPrice = driverPrice;
  }


  public String getEmail() {
    return email;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  public String getWhiteCard() {
    return whiteCard;
  }

  public void setWhiteCard(String whiteCard) {
    this.whiteCard = whiteCard;
  }

  public String getArrivalPort() {
    return arrivalPort;
  }

  public void setArrivalPort(String arrivalPort) {
    this.arrivalPort = arrivalPort;
  }

  public String getSfile() {
    return sfile;
  }

  public void setSfile(String sfile) {
    this.sfile = sfile;
  }

  public String getDriverFeeVerifytime() {
    return driverFeeVerifytime;
  }

  public void setDriverFeeVerifytime(String driverFeeVerifytime) {
    this.driverFeeVerifytime = driverFeeVerifytime;
  }


  public List<BillProcess> getBillProcessList() {
    return billProcessList;
  }

  public void setBillProcessList(List<BillProcess> billProcessList) {
    this.billProcessList = billProcessList;
  }

  public List<BillFee> getBillFeeList() {
    return billFeeList;
  }

  public void setBillFeeList(List<BillFee> billFeeList) {
    this.billFeeList = billFeeList;
  }

  public String getUpYard() {
    return upYard;
  }

  public void setUpYard(String upYard) {
    this.upYard = upYard;
  }

  public String getBackYard() {
    return backYard;
  }

  public void setBackYard(String backYard) {
    this.backYard = backYard;
  }

  public String getOffertime() {
    return offertime;
  }

  public void setOffertime(String offertime) {
    this.offertime = offertime;
  }

  public String getMaketime() {
    return maketime;
  }

  public void setMaketime(String maketime) {
    this.maketime = maketime;
  }

  public String getDriverReceivetime() {
    return driverReceivetime;
  }

  public void setDriverReceivetime(String driverReceivetime) {
    this.driverReceivetime = driverReceivetime;
  }

  public String getUpBoxtime() {
    return upBoxtime;
  }

  public void setUpBoxtime(String upBoxtime) {
    this.upBoxtime = upBoxtime;
  }

  public String getArrivedFactorytime() {
    return arrivedFactorytime;
  }

  public void setArrivedFactorytime(String arrivedFactorytime) {
    this.arrivedFactorytime = arrivedFactorytime;
  }

  public String getLeaveFactorytime() {
    return leaveFactorytime;
  }

  public void setLeaveFactorytime(String leaveFactorytime) {
    this.leaveFactorytime = leaveFactorytime;
  }

  public String getInPorttime() {
    return inPorttime;
  }

  public void setInPorttime(String inPorttime) {
    this.inPorttime = inPorttime;
  }

  public String getCostBilltime() {
    return costBilltime;
  }

  public void setCostBilltime(String costBilltime) {
    this.costBilltime = costBilltime;
  }

  public String getVerifytime() {
    return verifytime;
  }

  public void setVerifytime(String verifytime) {
    this.verifytime = verifytime;
  }

  public String getCustomerVerifytime() {
    return customerVerifytime;
  }

  public void setCustomerVerifytime(String customerVerifytime) {
    this.customerVerifytime = customerVerifytime;
  }

  public String getDriverFreight() {
    return driverFreight;
  }

  public void setDriverFreight(String driverFreight) {
    this.driverFreight = driverFreight;
  }

  public String getPreEntryPic() {
    return preEntryPic;
  }

  public void setPreEntryPic(String preEntryPic) {
    this.preEntryPic = preEntryPic;
  }

  public String getAnnex() {
    return annex;
  }

  public void setAnnex(String annex) {
    this.annex = annex;
  }

  public String getSealnoPic() {
    return sealnoPic;
  }

  public void setSealnoPic(String sealnoPic) {
    this.sealnoPic = sealnoPic;
  }

  public String getCustomer() {
    return customer;
  }

  public void setCustomer(String customer) {
    this.customer = customer;
  }

  public String getContacts() {
    return contacts;
  }

  public void setContacts(String contacts) {
    this.contacts = contacts;
  }

  public String getContactsPhone() {
    return contactsPhone;
  }

  public void setContactsPhone(String contactsPhone) {
    this.contactsPhone = contactsPhone;
  }

  public String getDock() {
    return dock;
  }

  public void setDock(String dock) {
    this.dock = dock;
  }

  public String getProvince() {
    return province;
  }

  public void setProvince(String province) {
    this.province = province;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public String getWeight() {
    return weight;
  }

  public void setWeight(String weight) {
    this.weight = weight;
  }

  public String getBoxType() {
    return boxType;
  }

  public void setBoxType(String boxType) {
    this.boxType = boxType;
  }

  public String getPrice() {
    return price;
  }

  public void setPrice(String price) {
    this.price = price;
  }

  public String getPackDate() {
    return packDate;
  }

  public void setPackDate(String packDate) {
    this.packDate = packDate;
  }

  public String getVessel() {
    return vessel;
  }

  public void setVessel(String vessel) {
    this.vessel = vessel;
  }

  public String getVoyage() {
    return voyage;
  }

  public void setVoyage(String voyage) {
    this.voyage = voyage;
  }

  public String getBillOfLading() {
    return billOfLading;
  }

  public void setBillOfLading(String billOfLading) {
    this.billOfLading = billOfLading;
  }

  public String getFactoryAddress() {
    return factoryAddress;
  }

  public void setFactoryAddress(String factoryAddress) {
    this.factoryAddress = factoryAddress;
  }

  public String getFactoryPhone() {
    return factoryPhone;
  }

  public void setFactoryPhone(String factoryPhone) {
    this.factoryPhone = factoryPhone;
  }

  public String getQrCode() {
    return qrCode;
  }

  public void setQrCode(String qrCode) {
    this.qrCode = qrCode;
  }

  public String getCarTeam() {
    return carTeam;
  }

  public void setCarTeam(String carTeam) {
    this.carTeam = carTeam;
  }

  public String getDriver() {
    return driver;
  }

  public void setDriver(String driver) {
    this.driver = driver;
  }

  public String getDriverPhone() {
    return driverPhone;
  }

  public void setDriverPhone(String driverPhone) {
    this.driverPhone = driverPhone;
  }

  public String getCarNo() {
    return carNo;
  }

  public void setCarNo(String carNo) {
    this.carNo = carNo;
  }

  public String getBoxNum() {
    return boxNum;
  }

  public void setBoxNum(String boxNum) {
    this.boxNum = boxNum;
  }

  public String getSealno() {
    return sealno;
  }

  public void setSealno(String sealno) {
    this.sealno = sealno;
  }

  public String getBoxNumPic() {
    return boxNumPic;
  }

  public void setBoxNumPic(String boxNumPic) {
    this.boxNumPic = boxNumPic;
  }

  public String getArrivedFactoryLatitude() {
    return arrivedFactoryLatitude;
  }

  public void setArrivedFactoryLatitude(String arrivedFactoryLatitude) {
    this.arrivedFactoryLatitude = arrivedFactoryLatitude;
  }

  public String getArrivedFactoryLongitude() {
    return arrivedFactoryLongitude;
  }

  public void setArrivedFactoryLongitude(String arrivedFactoryLongitude) {
    this.arrivedFactoryLongitude = arrivedFactoryLongitude;
  }

  public String getArrivedFactoryDate() {
    return arrivedFactoryDate;
  }

  public void setArrivedFactoryDate(String arrivedFactoryDate) {
    this.arrivedFactoryDate = arrivedFactoryDate;
  }

  public String getArrivedFactoryWarnDate() {
    return arrivedFactoryWarnDate;
  }

  public void setArrivedFactoryWarnDate(String arrivedFactoryWarnDate) {
    this.arrivedFactoryWarnDate = arrivedFactoryWarnDate;
  }

  public String getLeavedFactoryDate() {
    return leavedFactoryDate;
  }

  public void setLeavedFactoryDate(String leavedFactoryDate) {
    this.leavedFactoryDate = leavedFactoryDate;
  }

  public String getLeavedFactoryLongitude() {
    return leavedFactoryLongitude;
  }

  public void setLeavedFactoryLongitude(String leavedFactoryLongitude) {
    this.leavedFactoryLongitude = leavedFactoryLongitude;
  }

  public String getLeavedFactoryLatitude() {
    return leavedFactoryLatitude;
  }

  public void setLeavedFactoryLatitude(String leavedFactoryLatitude) {
    this.leavedFactoryLatitude = leavedFactoryLatitude;
  }

  public String getArrivedHarbourDate() {
    return arrivedHarbourDate;
  }

  public void setArrivedHarbourDate(String arrivedHarbourDate) {
    this.arrivedHarbourDate = arrivedHarbourDate;
  }

  public String getArrivedHarbourLatitude() {
    return arrivedHarbourLatitude;
  }

  public void setArrivedHarbourLatitude(String arrivedHarbourLatitude) {
    this.arrivedHarbourLatitude = arrivedHarbourLatitude;
  }

  public String getArrivedHarbourLongitude() {
    return arrivedHarbourLongitude;
  }

  public void setArrivedHarbourLongitude(String arrivedHarbourLongitude) {
    this.arrivedHarbourLongitude = arrivedHarbourLongitude;
  }

  public String getArrivedHarbourWarnDate() {
    return arrivedHarbourWarnDate;
  }

  public void setArrivedHarbourWarnDate(String arrivedHarbourWarnDate) {
    this.arrivedHarbourWarnDate = arrivedHarbourWarnDate;
  }

  public String getState() {
    return state;
  }

  public void setState(String state) {
    this.state = state;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }


}